/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jogo;

import java.io.IOException;
import java.util.Scanner;
/**
 *
 * @author Pedro
 */

public class DesafioDeserto {
    
    private boolean cantilExtra;
    
    Cantil cantil = new Cantil();
    Cenario cenario = new Cenario();
    Agua agua = new Agua();
    Scanner c = new Scanner(System.in);
    
    
    public boolean obterCantil() throws IOException {
        
        String decisao = null;
        boolean validaDecisao = true;
        
        while(validaDecisao) {
            
            System.out.println("Você chegou ao último poço. Desaja encher o seu cantil e obter um sobressalente?");
            System.out.println("(SIM, NAO OU CANCELAR?)");
            decisao = c.nextLine();
            
            if(decisao.equalsIgnoreCase("Cancelar")) {
                
                System.exit(1);
                
            }
            
            if(!(decisao.equalsIgnoreCase("Sim") || decisao.equalsIgnoreCase("Nao"))) {
                
                System.out.println("Entrada inválida!");
                
            } else if(decisao.equalsIgnoreCase("Nao")) {
                
                System.out.println("Como assim NÃO? Estás louco rapaz?");
                
            } else {
                
                validaDecisao = false;
                
            }
            
        }
        
        if(decisao.equalsIgnoreCase("Sim")) {
            
            validaDecisao = true;
            
            System.out.println("Porém, antes que você pudesse encher o seu cantil e pegar o outro apareceu um senhor.");
            System.out.println("Precione ENTER para prosseguir.");
            System.in.read();
            System.out.println("Esse senhor era o dono do poço e do cantil extra.");
            System.out.println("E disse que só daria a você se acertasse uma charada sua.");
            System.out.println("Precione ENTER para prosseguir.");
            System.in.read();
            
            
            while(validaDecisao) {
            
                System.out.println("Você aceita responder a pergunta?.");
                System.out.println("(SIM, NAO OU CANCELAR?)");
                decisao = c.nextLine();
                
                if(decisao.equalsIgnoreCase("cancelar")) {
                    
                    System.exit(1);
                    
                }
                
                if(!(decisao.equalsIgnoreCase("Sim") || decisao.equalsIgnoreCase("Nao"))) {
                
                    System.out.println("Entrada inválida!");
                
                } else {
                
                    validaDecisao = false;
                
                }
                
                
            }
            
            if(decisao.equalsIgnoreCase("Nao")) {
                
                System.out.println("Tudo bem, você deverá prosseguir mesmo assim.");
                System.out.println("Terá sorte se chover.");
                System.out.println("Precione ENTER para prosseguir.");
                System.in.read();
                return this.cantilExtra = false;
                
            }
            
            if(decisao.equalsIgnoreCase("Sim")) {
                
                System.out.println("Você aceitou o desafio.");
                System.out.println("Precione ENTER para prosseguir.");
                System.in.read();
                System.out.println("Então o velho perguntou-lhe: ");
                System.out.println("Buscando água, uma rã caiu em um poço de 30 metros de profundidade.");
                System.out.println("Na sua busca por sobrevivência, a obstinada rã conseguia \nsubir 3 metros cada dia, sendo que a noite resbalava e descia 2 metros.");
                System.out.println("Precione ENTER para prosseguir.");
                System.in.read();
                
                validaDecisao = true;
                
                while(validaDecisao) {
                    
                    System.out.println("Quantos dias a rã demorou para sair do poço?");
                    System.out.println("(27, 28 ou 30 dias?)");
                    decisao = c.nextLine();
                    
                    if(!(decisao.equalsIgnoreCase("27") || decisao.equalsIgnoreCase("28") || decisao.equalsIgnoreCase("30"))) {
                        
                        System.out.println("Entrada inválida!");
                        
                    } else {
                        
                        validaDecisao = false;
                        
                    }
                    
                }
                
                if(decisao.equalsIgnoreCase("27") || decisao.equalsIgnoreCase("30")) {
                    
                    System.out.println("Resposta errada.");
                    System.out.println("Você deverá prosseguir mesmo assim. Terá sorte se chover.");
                    System.out.println("Precione ENTER para prosseguir.");
                    System.in.read();
                    return this.cantilExtra = false;
                    
                } else if (decisao.equalsIgnoreCase("28")) {
                    
                    System.out.println("Resposta certa.");
                    System.out.println("Você obteve um cantil extra e encheu o outro.");
                    System.out.println("Precione ENTER para prosseguir.");
                    System.in.read();
                    cantil.setQuantidadeDeCantis(2);
                    agua.encherCantil1();
                    agua.encherCantil2();
                    return this.cantilExtra = true;
                    
                }
                
            }
            
        }
      
      return this.cantilExtra;
        
    }
    
    public void caminhoDeserto() throws IOException {
        
        String condicaoClima = cenario.sorteiaClima();
        
        System.out.println("Agora você está indo pelo deserto.");
        System.out.println("Precione ENTER para prosseguir.");
        System.in.read();
        
        if(cantilExtra == false) {
            
            if(condicaoClima.equalsIgnoreCase("chuva")) {
                
                System.out.println("Parece que você é um mensageniro sortudo.");
                System.out.println("Você não obteve um cantil extra. Porém começou a chover.");
                System.out.println("Precione ENTER para prosseguir.");
                System.in.read();
                System.out.println("Então você conseguir salvar-se e atravessar o deserto.");
                System.out.println("PARABÉNS!");
                
            } else if (condicaoClima.equalsIgnoreCase("chuva")) {
                
                System.out.println("Depois de longos dias sem água você acabou não resistindo e morreu de sede.");
                System.out.println("Precione ENTER para prosseguir.");
                System.in.read();
                System.out.println("Você perdeu. FIM DE JOGO!");
                System.exit(3);
                
            }
            
        } else if(cantilExtra = true) {
            
            System.out.println("Depois de longos dias de viagem você finalmente atravessou o deserto.");
            System.out.println("Tudo graças a sua inteligência em acertar a charada do dono do poço.");
            System.out.println("Precione ENTER para prosseguir.");
            System.in.read();
            System.out.println("Então você conseguir salvar-se e atravessar o deserto.");
            System.out.println("PARABÉNS!");
            
        }
        
    }
    
}
